package cn.lg.soar.database.base.service;

import cn.lg.soar.database.base.entity.ITreeEntity;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;

import java.io.Serializable;
import java.util.List;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface ITreeService<ID extends Serializable, T extends ITreeEntity<ID>> extends IBaseService<T> {

    /**
     * 获取子级（根据父id获取直接子级））
     * @param id
     * @return
     */
    default List<T> getChildren(ID id) {
        return list(Wrappers.<T>lambdaQuery(getEntityClass()).eq(T::getParentId, id));
    }

}
